Saltar al contenido principal

OCR Personalizado para Documentos Manuscritos y Digitales

Plataforma: Ubuntu 20 Tipo: Proyecto Cerrado Fecha: 2023 Enlace: No disponible


Resumen

Este proyecto tuvo como objetivo desarrollar un sistema de OCR especializado capaz de mejorar el reconocimiento de texto manuscrito y texto impreso mediante una arquitectura personalizada basada en detección, reconocimiento y postprocesamiento.

La iniciativa surgió tras varios proyectos de extracción documental, donde se identificó una limitación recurrente: los motores OCR tradicionales funcionaban razonablemente bien para documentos digitales, pero su desempeño disminuía considerablemente al enfrentarse a escritura manuscrita, documentos escaneados de baja calidad o formularios completados manualmente.

El objetivo era construir una solución capaz de superar estas limitaciones mediante modelos entrenados específicamente para este tipo de documentos.


Referencias Visuales

OCR Manuscrito


Contexto

Durante años, la mayoría de las soluciones de OCR estuvieron optimizadas para texto digital o documentos escaneados con buena calidad.

Sin embargo, muchos procesos empresariales todavía dependen de documentos completados a mano.

Este proyecto nació en una etapa donde los modelos multimodales aún no estaban ampliamente disponibles o no ofrecían el nivel de madurez actual, por lo que la exploración de soluciones OCR especializadas representaba una alternativa técnicamente válida para abordar problemas complejos de reconocimiento documental.

Entre los principales desafíos se encontraban:

  • Escrituras con estilos muy diferentes.
  • Variaciones de tamaño y orientación.
  • Escaneos de baja calidad.
  • Fotografías tomadas desde dispositivos móviles.
  • Formularios parcialmente completados.
  • Caligrafías difíciles de interpretar.

Estos factores hacían que incluso los servicios comerciales más avanzados presentaran resultados inconsistentes.


Problema

La mayoría de los motores OCR intentan leer directamente el texto presente en una imagen.

Sin embargo, cuando la calidad del documento disminuye o la escritura se vuelve irregular, el problema deja de ser simplemente reconocer caracteres.

El desafío consistía en:

  • Detectar correctamente las palabras.
  • Aislar regiones relevantes.
  • Reconocer texto manuscrito.
  • Corregir errores de reconocimiento.
  • Mantener consistencia en los resultados.

Arquitectura General


Solución

La solución se construyó mediante una arquitectura de múltiples etapas.

Detección de Palabras

La primera etapa consistía en localizar palabras dentro del documento utilizando YOLO.

Esto permitía aislar regiones específicas antes de intentar reconocer el texto.

Reconocimiento

Las regiones detectadas eran procesadas mediante una versión ajustada de RapidOCR.

El objetivo era mejorar el reconocimiento de escritura manuscrita respecto de los modelos estándar disponibles.

Postprocesamiento

Finalmente se aplicaba una capa de corrección y refinamiento.

Esta etapa buscaba mejorar:

  • Coherencia textual.
  • Corrección ortográfica.
  • Segmentación.
  • Consistencia de resultados.

Mi Participación

Participé como líder técnico del proyecto.

Mis responsabilidades incluyeron:

  • Diseño de la arquitectura.
  • Definición de estrategia de entrenamiento.
  • Supervisión del etiquetado.
  • Evaluación de modelos.
  • Ajuste de parámetros.
  • Validación de resultados.
  • Coordinación del equipo.

También participé activamente en la definición de métricas y en la evaluación comparativa frente a soluciones comerciales disponibles en ese momento.


Desafíos Técnicos

Escritura Manuscrita

La escritura manuscrita resultó ser significativamente más compleja que el texto impreso.

Dos personas podían escribir la misma palabra de formas completamente distintas.

Calidad de los Documentos

Los documentos procesados presentaban una gran diversidad de formatos y niveles de calidad.

Se recibían:

  • Escaneos.
  • Fotografías.
  • Formularios impresos.
  • Formularios manuscritos.
  • Documentos mixtos.

Casos Especializados

Algunos escenarios, como documentación médica o formularios con escritura particularmente compleja, representaban desafíos importantes incluso para modelos especializados.


Tecnologías Utilizadas

  • Python
  • YOLO
  • RapidOCR
  • Computer Vision
  • OCR
  • Procesamiento de Imágenes
  • Postprocesamiento Lingüístico

Resultados

La solución logró mejorar significativamente la capacidad de reconocimiento en determinados tipos documentales y permitió validar una arquitectura especializada para OCR manuscrito.

También permitió generar conocimiento técnico valioso sobre:

  • Detección de palabras.
  • Reconocimiento manuscrito.
  • Corrección automática.
  • Procesamiento documental avanzado.

Lo que Aprendí

Este proyecto me permitió profundizar en uno de los problemas más complejos del procesamiento documental: interpretar correctamente información escrita por personas reales.

A diferencia de documentos digitales, la escritura manuscrita introduce una enorme variabilidad que no siempre puede resolverse únicamente mediante modelos OCR tradicionales.

La experiencia también reforzó la importancia de considerar el costo computacional, la mantenibilidad y la evolución tecnológica al momento de diseñar soluciones de inteligencia artificial.


Viéndolo en Retrospectiva

Mirando el proyecto años después, considero que fue una iniciativa de investigación y desarrollo particularmente valiosa.

Aunque la solución obtenía resultados prometedores, la rápida evolución de los modelos multimodales y de los sistemas de comprensión documental basados en LLM cambió significativamente el panorama tecnológico.

Muchas de las capacidades que en ese momento requerían arquitecturas especializadas comenzaron a ser abordadas por modelos más generales.

Sin embargo, el proyecto dejó aprendizajes importantes sobre OCR, visión computacional, procesamiento documental y las limitaciones prácticas de trabajar con escritura manuscrita en entornos reales.